<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // console.log(a);

    // var a = 10;

    // console.log(a);




    // fn();

    // function fn(){
    //     console.log(1)
    // }

    // fn();




    // fn();
    // console.log(fn);
    // var fn = function(){
    //     console.log(2)
    // }
    // fn();



    // console.log(a);

    // function a(){
    //     console.log(3)
    // }
    // var a = 10;




    // (function(){
    //     console.log(a);         // 
    //     function a(){ 1 }
    //     console.log(a);         // 
    //     var a = "hello"
    //     console.log(a);         // 
    //     var a = function(){ 2 }
    //     console.log(a);         // 
    //     function a(){ 3 }
    //     console.log(a);         // 
    // })();
    // ↑↑↑等价于↓↓↓
    // (function(){
    //     var a;
    //     var a;
    //     function a(){ 1 }
    //     function a(){ 3 }
    //     console.log(a);         // f3
    //     console.log(a);         // f3
    //     a = "hello"
    //     console.log(a);         // hello
    //     a = function(){ 2 }
    //     console.log(a);         // f2
    //     console.log(a);         // f2
    // })();

    // (function(){
    //     console.log(a);         //
    //     var a = function(){ 1 }
    //     console.log(a);         //
    //     function a(){ 2 }
    //     console.log(a);         //
    //     var a = "hello";
    //     console.log(a)          //
    //     function a(){ 3 }
    //     console.log(a)          //
    //     var a = "world"
    //     console.log(a)          //
    // })();
    // ↑↑↑等价于↓↓↓
    // (function(){
    //     var a;
    //     var a;
    //     var a;
    //     function a(){ 2 }
    //     function a(){ 3 }
    //     console.log(a);         // f3
    //     a = function(){ 1 }
    //     console.log(a);         // f1
    //     console.log(a);         // f1
    //     a = "hello";
    //     console.log(a)          // hello
    //     console.log(a)          // hello
    //     a = "world"
    //     console.log(a)          // world
    // })();

    
    // (function(){
    //     console.log(a);         // 
    //     function a(){ 1 }
    //     console.log(a);         // 
    //     var a = function(){ 2 }
    //     console.log(a);         // 
    //     a = function(){ 3 }
    //     console.log(a);         // 
    //     function a(){ 4 }
    //     console.log(a);         // 
    //     var a = "hello";
    //     console.log(a);         // 
    // })();
    // ↑↑↑等价于↓↓↓
    // (function(){
    //     var a;
    //     var a
    //     function a(){ 1 }
    //     function a(){ 4 }
    //     console.log(a);         // f4
    //     console.log(a);         // f4
    //     a = function(){ 2 }
    //     console.log(a);         // f2
    //     a = function(){ 3 }
    //     console.log(a);         // f3
    //     console.log(a);         // f3
    //     a = "hello";
    //     console.log(a);         // hello
    // })();


</script>
</html>